package com.day18me.hom;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

//本类用于演示List的常见方法
public class Test1 {
    public static void main(String[] args) {
        //List接口是Collection的重要子接口，List接口有序（遍历顺序和插入顺序一致），允许重复元素，有下标
        List list = new ArrayList();
        list.add("kimi");
        list.add("kiki");
        list.add("华子");
        list.add("qinagzi");
        System.out.println(list.size());
        System.out.println(list);
        list.remove(1);
        System.out.println(list);
        list.add("华子");
        list.add("华子");
        list.add("华子");
        System.out.println(list);
        list.remove("华子");
        System.out.println(list);
        //set替换，数组长度不变
        list.set(1, "boss");
        System.out.println(list);
        int index = list.indexOf("华子");
        System.out.println(index);
        int index2 = list.lastIndexOf("华子");
        System.out.println(index2);

        String s = (String) list.get(0);
        System.out.println(s);

        List list1 = list.subList(1, 3);//从第一个参数位置开始截取，截取到第二个参数位置的前一位，将原来的集合变成一个子集合
        System.out.println(list);

        //迭代器遍历
        Iterator ito = list.iterator();
        while (ito.hasNext()) {
            String s1 = (String) ito.next();
            System.out.println(s1);
        }
        for (Object oj : list) {
            String s3 = (String) oj;
            System.out.println(s3);
        }
        //传统for循环遍历
        for(int i = 0; i<list.size(); i++){
            String s4 = (String)list.get(i);
            System.out.println(s4);


        }

    }
}
